package br.ufpe.cin.if680.lightmirror.core;

public class Objeto {
	protected Retalho[] retalhos;
	protected Parametros parametros;
	
	public Objeto(Parametros p){
		this.parametros = p;
		int size = p.triangulos.length;
		this.retalhos = new Retalho[size];

		for(int i = 0; i < size; i++){
			retalhos[i] = this.projetar(p.triangulos[i]);
		}
	}
	
	/**
	 * Retorna o retalho correspondente à projeção do triângulo t na tela.
	 * @param t
	 * @return
	 */
	// ta seboso, mas eh so pra ficar mais rapido
	public Retalho projetar(Triangulo t){
		//Ponto a = t.a.projecao(parametros.getD(), parametros.getHx(), parametros.getHy());
		//Ponto b = t.b.projecao(parametros.getD(), parametros.getHx(), parametros.getHy());
		//Ponto c = t.c.projecao(parametros.getD(), parametros.getHx(), parametros.getHy());
		return new Retalho(t, t.a.projecao(parametros.getD(), parametros.getHx(), parametros.getHy())
				, t.b.projecao(parametros.getD(), parametros.getHx(), parametros.getHy())
				, t.c.projecao(parametros.getD(), parametros.getHx(), parametros.getHy()), parametros);
	}
	
	public void pintarRetalhos() {
		for(Retalho r : retalhos) {
			r.pintarScan();
		}
	}
}
